home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 October: Mac OS SDK / Dev.CD Oct 96 SDK / Dev.CD Oct 96 SDK2.toast / Development Kits (Disc 2) / OpenDoc / OpenDoc Development / Debugging Support / OpenDoc Source Code / Storage / DgItmIt.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-22  |  2.6 KB  |  80 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        DgItmIt.cpp
  3.  
  4.     Contains:    Implementation of ODDragItemIterator
  5.  
  6.     Owned by:    Vincent Lo
  7.  
  8.     Copyright:    © 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.          <5>      8/3/95    RR        #1257260: Collapse B classes. Remove
  13.                                     somInit methods. Don't call IsInitialized
  14.                                     or SubclassResponsibility
  15.          <4>     5/26/95    VL        1251403: Multithreading naming support.
  16.          <3>     5/25/95    jpa        List.h --> LinkList.h [1253324]
  17.          <2>     7/21/94    VL        Added implementation.
  18.  
  19.     To Do:
  20. */
  21.  
  22. #define ODDragItemIterator_Class_Source
  23. #define VARIABLE_MACROS
  24. #include <DgItmIt.xih>
  25.  
  26. #ifndef _DRAGPRIV_
  27. #include <DragPriv.h>
  28. #endif
  29.  
  30. #ifndef _LINKLIST_
  31. #include <LinkList.h>
  32. #endif
  33.  
  34. #include "DgItmItB.cpp"    // Platform-independent methods, if any
  35.  
  36. SOM_Scope void  SOMLINK ODDragItemIteratorInitDragItemIterator(ODDragItemIterator *somSelf, Environment *ev,
  37.         LinkedListIterator* dragItemListIter)
  38. {
  39.     ODDragItemIteratorData *somThis = ODDragItemIteratorGetData(somSelf);
  40.     ODDragItemIteratorMethodDebug("ODDragItemIterator","ODDragItemIteratorInitDragItemIterator");
  41.  
  42.     _fDragItemListIter = dragItemListIter;
  43. }
  44.  
  45. SOM_Scope void  SOMLINK ODDragItemIteratorsomUninit(ODDragItemIterator *somSelf)
  46. {
  47.     ODDragItemIteratorData *somThis = ODDragItemIteratorGetData(somSelf);
  48.     ODDragItemIteratorMethodDebug("ODDragItemIterator","ODDragItemIteratorsomUninit");
  49.  
  50.     delete _fDragItemListIter;
  51.     
  52.     ODDragItemIterator_parent_ODObject_somUninit(somSelf);
  53. }
  54.  
  55. SOM_Scope ODStorageUnit*  SOMLINK ODDragItemIteratorFirst(ODDragItemIterator *somSelf, Environment *ev)
  56. {
  57.     ODDragItemIteratorData *somThis = ODDragItemIteratorGetData(somSelf);
  58.     ODDragItemIteratorMethodDebug("ODDragItemIterator","ODDragItemIteratorFirst");
  59.  
  60.     ODDragLink*    theLink = (ODDragLink*) _fDragItemListIter->First();
  61.     return(theLink ? (ODStorageUnit*) theLink->fItem->fSU : (ODStorageUnit*) kODNULL);
  62. }
  63.  
  64. SOM_Scope ODStorageUnit*  SOMLINK ODDragItemIteratorNext(ODDragItemIterator *somSelf, Environment *ev)
  65. {
  66.     ODDragItemIteratorData *somThis = ODDragItemIteratorGetData(somSelf);
  67.     ODDragItemIteratorMethodDebug("ODDragItemIterator","ODDragItemIteratorNext");
  68.  
  69.     ODDragLink *theLink = (ODDragLink*)_fDragItemListIter->Next();
  70.     return(theLink ? (ODStorageUnit*) theLink->fItem->fSU : (ODStorageUnit*) kODNULL);
  71. }
  72.  
  73. SOM_Scope ODBoolean  SOMLINK ODDragItemIteratorIsNotComplete(ODDragItemIterator *somSelf, Environment *ev)
  74. {
  75.     ODDragItemIteratorData *somThis = ODDragItemIteratorGetData(somSelf);
  76.     ODDragItemIteratorMethodDebug("ODDragItemIterator","ODDragItemIteratorIsNotComplete");
  77.  
  78.     return (_fDragItemListIter->IsNotComplete());
  79. }
  80.